package com.nowcoder.community.util;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.DigestUtils;


import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public class CommunityUtil {

    // 利用UUID生成随机字符串
    public static String generateUUID() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }

    // MD5加密
    // hello -> abc123def456 同一个密码计算出来的MD5值是一样的,不够安全
    // hello + 3e4a8(salt) -> abc123def456abc //对密码进行加盐后再进行MD5计算
    public static String md5(String key) {
        if (StringUtils.isBlank(key)) {
            return null;
        }
        return DigestUtils.md5DigestAsHex(key.getBytes());
    }

    //封装json工具
    public static String getJSONString(int code, String msg, Map<String,Object> map){
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("code",code);
        jsonObject.put("msg",msg);
        if(map != null){
            for(String key : map.keySet()){
                jsonObject.put(key,map.get(key));
            }
        }
        return jsonObject.toJSONString();//返回json格式的字符串,方便数据的取用
    }
    //重载json工具
    public static String getJSONString(int code,String msg){
        return getJSONString(code,msg,null);
    }
    //重载json工具
    public static String getJSONString(int code){
        return getJSONString(code,null,null);
    }

    //测试json工具
    public static void main(String[] args) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("name","zhangsan");
        map.put("age",25);
        System.out.println(getJSONString(0,"ok",map));
    }
}
